From 1f25e23a7be58acd761617a1f6b8e21c93cb5e11 Mon Sep 17 00:00:00 2001 From: Robert Lipe Date: Sun, 8 Dec 2019 19:37:32 -0600 Subject: [PATCH] Make WAYPT_SET act more like a function after macro expansion. --- alan.cc | 2 +- defs.h | 2 +- gpx.cc | 4 ++-- lowranceusr.cc | 3 +++ nmea.cc | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/alan.cc b/alan.cc index 8befabee0..7e1da88a9 100644 --- a/alan.cc +++ b/alan.cc @@ -617,7 +617,7 @@ static void trl_read() WP->longitude = pt2deg(trklog->pt[j].x); WP->altitude = hgt2m(trklog->sh[j].height); if (trklog->sh[j].speed >= 0) - WAYPT_SET(WP, speed, sp2mps(trklog->sh[j].speed)) + WAYPT_SET(WP, speed, sp2mps(trklog->sh[j].speed)); else { /* bad speed < 0 - set to 0.0 */ WAYPT_UNSET(WP, speed); } diff --git a/defs.h b/defs.h index e44d4ed41..424b360e7 100644 --- a/defs.h +++ b/defs.h @@ -453,7 +453,7 @@ struct bounds { double min_alt; /* -unknown_alt => invalid */ }; -#define WAYPT_SET(wpt,member,val) { (wpt)->member = (val); wpt->wpt_flags.member = 1; } +#define WAYPT_SET(wpt,member,val) do { (wpt)->member = (val); wpt->wpt_flags.member = 1; } while (0) #define WAYPT_GET(wpt,member,def) ((wpt->wpt_flags.member) ? (wpt->member) : (def)) #define WAYPT_UNSET(wpt,member) wpt->wpt_flags.member = 0 #define WAYPT_HAS(wpt,member) (wpt->wpt_flags.member) diff --git a/gpx.cc b/gpx.cc index f171ab082..77befaddd 100644 --- a/gpx.cc +++ b/gpx.cc @@ -1042,7 +1042,7 @@ gpx_end(const QString&) */ case tt_humminbird_wpt_depth: case tt_humminbird_trk_trkseg_trkpt_depth: - WAYPT_SET(wpt_tmp, depth, cdatastr.toDouble() / 100.0) + WAYPT_SET(wpt_tmp, depth, cdatastr.toDouble() / 100.0); break; /* * Route-specific tags. @@ -1174,7 +1174,7 @@ gpx_end(const QString&) wpt_tmp->SetCreationTime(xml_parse_time(cdatastr)); break; case tt_wpttype_geoidheight: - WAYPT_SET(wpt_tmp, geoidheight, cdatastr.toDouble()) + WAYPT_SET(wpt_tmp, geoidheight, cdatastr.toDouble()); break; case tt_wpttype_cmt: wpt_tmp->description = cdatastr; diff --git a/lowranceusr.cc b/lowranceusr.cc index c5a1f775e..105fb0a23 100644 --- a/lowranceusr.cc +++ b/lowranceusr.cc @@ -101,6 +101,7 @@ #include // for QTime #include // for CaseInsensitive, UTC #include // for qPrintable, uint, foreach +#include #include "defs.h" #include "gbfile.h" // for gbfgetint32, gbfputint32, gbfputint16, gbfgetc, gbfgetint16, gbfputc, gbfwrite, gbfeof, gbfgetflt, gbfclose, gbfgetdbl, gbfputdbl, gbfile, gbfputflt, gbfread, gbfseek, gbfopen_le @@ -1129,6 +1130,8 @@ lowranceusr_parse_waypts() case 6: lowranceusr4_parse_waypt(wpt_tmp); break; + default: + Warning() << MYNAME << ": Unknown internal version " << reading_version; } waypt_add(wpt_tmp); } diff --git a/nmea.cc b/nmea.cc index 2fdb7cea0..ca6426ed2 100644 --- a/nmea.cc +++ b/nmea.cc @@ -774,7 +774,7 @@ gpvtg_parse(char* ibuf) if (curr_waypt) { WAYPT_SET(curr_waypt, course, course); if (speed_k > 0) { - WAYPT_SET(curr_waypt, speed, KPH_TO_MPS(speed_k)) + WAYPT_SET(curr_waypt, speed, KPH_TO_MPS(speed_k)); } else { WAYPT_SET(curr_waypt, speed, KNOTS_TO_MPS(speed_n)); } -- 2.30.2